import axios from 'axios'
import { ElMessage } from 'element-plus'

const request = axios.create({
    baseURL: 'http://localhost:8080/api',
    timeout: 10000,
    headers: {
        'Content-Type': 'application/json'
    }
})

// 响应拦截器 - 适配 ResultVO 格式
request.interceptors.response.use(
    (response) => {
        const res = response.data

        // 适配 ResultVO 格式
        if (res.code === 200) {
            return res // 返回完整的 ResultVO 对象
        } else {
            ElMessage.error(res.message || '操作失败')
            return Promise.reject(new Error(res.message || 'Error'))
        }
    },
    (error) => {
        console.error('请求错误:', error)
        ElMessage.error('网络错误或服务器异常')
        return Promise.reject(error)
    }
)

export default request